//
//  NSMutableArray+QWExtension.h
//  WJCommon-master
//
//  Created by Yunhai.Wu on 15/12/16.
//  Copyright © 2015年 WJ. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSMutableArray (QWExtension)

/**
 *  添加一个元素
 */
- (void) qw_push:(id)object;

/**
 *  取出最后一个元素并移除
 *
 *  @return 取出元素
 */
- (id) qw_pop;

/**
 *   从末尾取出指定数量的元素并移除
 *
 *  @param numberOfElements 元素数量
 *
 *  @return 移除元素列表
 */
- (NSArray *) qw_pop:(NSUInteger)numberOfElements;

/**
 *  添加数组
 */
- (void) qw_concat:(NSArray *)array;

/**
 *  取出第一个元素，并在数据中移除这个元素
 *
 *  @return 移除元素
 */
- (id) qw_shift;


/**
 *  取出前 numberOfElements 个对象并从数组中移除
 *
 *  @param numberOfElements 元素数量
 *
 *  @return 移除元素列表
 */
- (NSArray *) qw_shift:(NSUInteger)numberOfElements;


/**
 *  根据条件移除元素
 *
 *  @param block 筛选block
 *
 *  @return 移除后的结果
 */
- (NSArray *) qw_keepIf:(BOOL (^)(id object))block;

@end
